/**
* 描述：用户名控件监控事件。
*/
$('#username').live('keyup',function(){
    var feedbackContainer=$('#feedbackContainer');
    if($(this).isValueEmpty()){
        feedbackContainer.html('请填写用户名。');
    }
    else{
        feedbackContainer.html('');
    }
});

/**
* 描述：验证码控件监控事件。
*/
$('#captcha').live('keyup',function(){
    var feedbackContainer=$('#feedbackContainer');
    if($(this).isValueEmpty()){
        feedbackContainer.html('请填写验证码。');
    }
    else{
        feedbackContainer.html('');
    }
});

/**
* 描述：密码控件监控事件。
*/
$('#password').live('keyup',function(){
    var feedbackContainer=$('#feedbackContainer');
    if($(this).isValueEmpty()){
        feedbackContainer.html('请填写登录密码。');
    }
    else{
        feedbackContainer.html('');
    }
});

/**
* 描述：验证码图片点击事件。
*/
$('#captchaImage').live('click',function(){
    this.src=this.src+'&'+Math.random();
});

/**
* 描述：更换验证码链接的点击事件。
*/
$('#changeCaptchaButton').live('click',function(){
    var captchaImage=$('#captchaImage');
    captchaImage.attr('src',captchaImage.attr('src')+'&'+Math.random());
});

/**
* 描述：响应页面回车事件。
*/
$(document).live('keyup',function(){
    if(window.event.keyCode==13){
        $('#submitButton').click();
    }
});

/**
* 描述：登录按钮事件。
*/
$('#submitButton').live('click',function(){
    //获取控件
    var username=$('#username'),password=$('#password'),system=$('#system');
    var captcha=$('#captcha'),feedbackContainer=$('#feedbackContainer');
    //检测数据
    if(username.isValueEmpty()){
        feedbackContainer.html('请填写用户名。');
        username.focus();
        return;
    }
    if(password.isValueEmpty()){
        feedbackContainer.html('请填写登录密码。');
        password.focus();
        return;
    }
    if(captcha.isValueEmpty()){
        feedbackContainer.html('请填写验证码。');
        captcha.focus();
        return;
    }
    //提交表单
    var data={
        username:username.val(),
        password:password.val(),
        captcha:captcha.val(),
        system:system.val()
    };
    //提示板控制函数
    function memo($text,$buttonStatus){
        feedbackContainer.html($text);
        $('#submitButton').attr('disabled',$buttonStatus);
    }
    //提交数据
    memo('正在登录，请稍候..',true);
    var $this=$(this);
    $.ajax({
        type:'POST',
        url:$('#form_login').attr('action'),
        data:data,
        dataType:'json',
        success:function($data){
            if($data){
                if($data.error=='0'){
                    window.location=$data.message;
                }
                else if($data.error=='1'){
                    captcha.select();
                    memo('您输入的验证码不正确，请重新输入。',false);
                }
                else if($data.error=='2'){
                    password.select();
                    memo('您输入的帐号或密码不正确，请重新输入。',false);
                }
                else if($data.error=='3'){
                    memo('授权错误，登录失败。',false);
                }
                else if($data.error=='4'){
                    memo('程序错误，登录失败。',false);
                }
                else{
                     memo('未知错误，登录失败。代码：'+$data.error+'。',false);
                }
            }
            else{
                memo('数据错误，登录失败。',false);
            }
        },
        error:function($xhr,$textStatus,$errorThrown){
            if($textStatus=='parsererror'){
                $('#error').html($xhr.responseText);
                memo('解析错误，登录失败。',false);
            }
            else{
                if($xhr.readyState=='4'){
                    if($xhr.status=='404'){
                        memo('服务器不存在，登录失败。',false);
                    }
                    else if($xhr.status=='500'){
                        memo('服务器错误，登录失败。',false);
                    }
                }
                else{
                     memo('服务器延迟，登录失败。',false);
                }
            }
        }
    });
});